#pragma once
#include <string>
#include <memory>
#define PSON_EXPORTS
#ifdef PSON_EXPORTS
#define PSON_API __declspec(dllexport)
#else
#define PSON_API __declspec(dllimport)
#endif


class PSON_API Person
{
public:
	virtual ~Person(){};
	virtual std::string getName()const = 0;
	virtual int getID()const = 0;
	virtual std::string getAddr()const = 0;
public:
	static std::shared_ptr<Person>
		create(std::string name, int id, std::string addr);
};

